ViC*: A Compiler for Virtual-Memory C*
نویسندگان
چکیده
This paper describes the functionality of ViC*, a compiler for a variant of the data-parallel language C* with support for out-of-core data. The compiler translates C* programs with shapes declared outofcore, which describe parallel data stored on disk. The compiler output is a SPMD-style program in standard C with I/O and library calls added to e ciently access out-of-core parallel data. The ViC* compiler also applies several program transformations to improve out-of-core data layout and access.
منابع مشابه
Coordinated Control of Doubley Fed Induction Generator Virtual Inertia and Power System Oscillation Damping Using Fuzzy Logic
Doubly-fed induction generator (DFIG) based wind turbines with traditional maximum power point tracking (MPPT) control provide no inertia response under system frequency events. Recently, the DFIG wind turbines have been equipped with virtual inertia controller (VIC) for supporting power system frequency stability. However, the conventional VICs with fixed gain have negative effects on inter-ar...
متن کاملPorting the JMTk memory management toolkit
JMTk is a memory management toolkit written in Java, originally for the JikesRVM Java Virtual Machine. JMTk provides reusable components for the development of allocation and garbage collection algorithms, an efficient implementation of a rapidly growing number of memory management schemes, and is an important enabler for memory management research. A portable version of JMTk will allow the gro...
متن کاملPICOBIT: A Compact Scheme System for Microcontrollers
Due to their tight memory constraints, small microcontroller based embedded systems have traditionally been implemented using lowlevel languages. This paper shows that the Scheme programming language can also be used for such applications, with less than 7 kB of total memory. We present PICOBIT, a very compact implementation of Scheme suitable for memory constrained embedded systems. To achieve...
متن کاملQuantifying and Evaluating the Space Overhead in C++ Memory Layouts
This paper develops a formalism that precisely characterizes when class tables are required for C++ memory layouts. A memory layout is a particular choice of data structures for implementing run-time support for object-oriented languages. We use this formalism and other techniques to quantify and evaluate, on a set of benchmarks, the space overhead for a set of C++ memory layouts. In particular...
متن کاملAddressing Partitioned Arrays in Distributed Memory Multiprocessors – the Software Virtual Memory Approach
Partitioning distributed arrays to ensure locality of reference is widely recognized as being critical in obtaining good performance on distributed memory multiprocessors. Data partitioning is the process of tiling data arrays and placing the tiles in memory such that a maximum number of data accesses are satisfied from local memory. Unfortunately, data partitioning makes it difficult to physic...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998